In recent years, with the increase in the Internet bandwidth and the development of the technique of handling versatile information, users can acquire information including not only characters and still images but also sounds and moving images by using mobile terminals at anytime and anywhere. The technologies for supporting such information acquisition include the communication schemes such as LTE (Long Term Evolution) and LTE-A (Long Term Evolution-Advanced).
In LTE, for example, a link adaptation technique contributes to improving communication performance (e.g., communication speed) and quality (e.g., connectivity and SN (Signal-Noise) ratio). To give a specific example, a base station (called as eNodeB in LTE) changes a data modulation scheme from QPSK (Quadrature Phase-Shift Keying) to 64QAM (Quadrature Amplitude Modulation) based on distance to the user's mobile terminal, power of radio wave or the like. QPSK is a data modulation scheme that is less susceptible to noise and interference. 64QAM is a data modulation scheme that can send more data per symbol. Changing the data modulation scheme in that way leads to dynamic variation of the transmission capacity per network resource (amount of information transmittable per unit time). The serialization delay time varies along with the variation of the transmission capacity.
In mobile terminals, when the communication condition is likely to become worse due to factors such as moving, a communication system being used is often switched to another communication system of a different communication scheme in order to continue the communication with, for example, the distribution source of contents. For example, a mobile terminal switches from an LTE system, which is one of the communication schemes, to a 3G (3rd Generation) system, which is another one of the communication schemes. Incidentally, 3G is a communication scheme for digital mobile phones that complies with the standards defined by ITU (International Telecommunication Union).
When a communication system being used by a mobile terminal is switched to a communication system of a different communication scheme as described above, a handover process is carried out in the mobile terminal and the communication systems used by the mobile terminal. Such the handover between the communication systems different from each other is called as a vertical handover. Processing relating to the vertical handover causes variation in the information transmission delay time, transmission capacity and the like in a communication path, and due to such variation, propagation delay and serializing delay (hereinafter called as propagation delay or the like) frequently vary.
By the way, in TCP (Transmission Control Protocol), which has been widely used in both wired and wireless data communications, techniques relating to congestion control are advanced in order to adapt to the recent communication environments where a lot of traffics coexist.
As the techniques relating thereto, there are delay-based TCPs, represented by TCP Vegas disclosed in NPL 1 and FAST TCP disclosed in NPL 2. In the delay-based TCPs, for example, a server device that performs communication control detects data (information) congestion in a network by estimating the amount of queue remaining in the network. When detecting the congestion, the server device then suppresses a data (information) transmission rate before occurrence of packet loss. In this way, the server device makes it possible to stabilize throughput without network corruption. More specifically, in the delay-based TCPs, the server device estimates the amount of queue remaining in the network based on the product of the available bandwidth (available transmission capacity) or transmission rate and the queuing delay. When the estimated amount of queue exceeds a threshold value, the server device then makes a detection of congestion and controls the transmission rate in a decreasing direction of the data transmission rate.
Queuing delay refers to a time obtained by subtracting the propagation delay or the like from the current delay (a time from transmission of information (data) to arrival at a destination or a round trip time from transmission of information to receipt by an information originator of reply information by the destination having received the information). In TCPs, the propagation delay or the like is estimated by a minimum value of delay dmin measured in data (information) communication, and the minimum value dmin is stored as a value of the propagation delay or the like in, for example, a storage device of the server device. When a minimum value of delay dmin smaller than the estimated value dmin is measured, the value of the propagation delay or the like is generally updated to the newly measured minimum value dmin. In this case, however, the value of the propagation delay or the like is updated only when a smaller delay (minimum value dmin) is measured, and therefore, there is a problem that if the propagation delay or the like increases, the increase is not reflected in the value of the propagation delay or the like when the propagation delay or the like increases.
In other words, the increase in the propagation delay or the like results in the discrepancy between the actual propagation delay or the like and the propagation delay or the like that the server device recognizes. The discrepancy in the propagation delay or the like also causes a discrepancy in the estimated value of the queuing delay, and as a result, the server device estimates a queue amount that is larger than the actual queue amount by using the queuing delay. Consequently, the server device erroneously recognizes that the network is congested based on the erroneous queue amount and unnecessarily reduces the transmission rate in the delay-based TCPs. This will cause an inconvenience that throughput in TCPs decreases.
Meanwhile, a solution for the problem is proposed in NPL 3. In the approach proposed in NPL 3, a server device checks whether the propagation delay or the like has increased for each constant interval (each fixed number of packets, in the example described in NPL 3) and, resets the value dmin of the propagation delay or the like, when an the propagation delay or the like has increased. Specifically, the server device computes the minimum value of delay for each N (N is an integer equal to or greater than 2) acknowledgements (ACK (ACKnowledge)) as dmin_est. When the value obtained by subtracting the value dmin set as the propagation delay or the like from the computed value dmin_est (dmin_est−dmin) is greater than the queuing delay L (L is an integer equal to or greater than 2) consecutive times, the server device then judges that the propagation delay or the like has increased. According to such determination, the server device resets the value dmin of the propagation delay or the like to the minimum value dmin_est of the latest delay. Accordingly, the server device is able to recognize the increase in the propagation delay or the like within a fixed number of packets (L×N packets).